home *** CD-ROM | disk | FTP | other *** search
-
- ///¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ <
- ///
- // Realise all system resources allocated at start
-
- void Free (void)
- {
- if (PatList)
- FreePatList (PatList);
- if (xw_mcc)
- MUI_DeleteCustomClass (xw_mcc);
- if (mw_mcc)
- MUI_DeleteCustomClass (mw_mcc);
- if (MUIMasterBase)
- CloseLibrary (MUIMasterBase);
- if (ReqToolsBase)
- CloseLibrary (ReqToolsBase);
- if (IdentifyBase)
- CloseLibrary (IdentifyBase);
- if (LocaleBase)
- {
- CloseCatalog (catalog);
- CloseLibrary (LocaleBase);
- }
- if (XpkBase)
- {
- if (XM)
- XpkFreeObject (XPKOBJ_MODE, XM);
- if (XI)
- XpkFreeObject (XPKOBJ_PACKERINFO, XI);
- if (XL)
- XpkFreeObject (XPKOBJ_PACKERLIST, XL);
- CloseLibrary (XpkBase);
- }
- if (IntuitionBase)
- CloseLibrary (IntuitionBase);
- }
- ///¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ <
- ///
- // Allocate all needed system resources and initialize all work data
-
- BOOL Init (void)
- {
- LONG count;
-
- if (IntuitionBase = OpenLibrary (INTUITION_LIBRARY_NAME, INTUITION_LIBRARY_VERSION))
- {
- if (XpkBase = OpenLibrary (XPK_LIBRARY_NAME, XPK_LIBRARY_VERSION))
- {
- if (LocaleBase = OpenLibrary (LOCALE_LIBRARY_NAME, LOCALE_LIBRARY_VERSION))
- {
- if (catalog = OpenCatalog (NULL, GETMES(CATALOG_NAME), OC_Version, CATALOG_LAST_VERSION, OC_BuiltInLanguage, GETMES(BUILTIN_LANGUAGE), TAG_DONE))
- {
- for (count = PROG_COPYRIGHT; count < FINISH; count++)
- messages[count] = GetCatalogStr (catalog, count, GETMES(count));
- }
- }
- if (IdentifyBase = OpenLibrary (ID_LIBRARY_NAME, ID_LIBRARY_VERSION))
- {
- if (ReqToolsBase = OpenLibrary (REQ_LIBRARY_NAME, REQ_LIBRARY_VERSION))
- {
- if (MUIMasterBase = OpenLibrary (MUI_LIBRARY_NAME, MUI_LIBRARY_VERSION))
- {
- if (mw_mcc = MUI_CreateCustomClass (NULL, MUIC_Window, NULL, sizeof(struct MWData), (APTR)MainWinDispatcher))
- {
- if (xw_mcc = MUI_CreateCustomClass (NULL, MUIC_Window, NULL, sizeof(struct XWData), (APTR)XpkWinDispatcher))
- {
- FillIt (FunctionName, PatternMode, StorageMode, StorageMethod, PerformCheck, NULL);
- if (PatList = AllocVec (sizeof(struct List), MEMF_PUBLIC))
- {
- NewList (PatList);
- if (LoadSets(DEF_ENV_FILE, PatList))
- return (ALL_RIGHT);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, EXIT_BUT, NULL);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, CC_PROBLEM, EXIT_BUT, NULL);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, CC_PROBLEM, EXIT_BUT, NULL);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUT, MUI_LIBRARY_NAME, MUI_LIBRARY_VERSION);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUT, REQ_LIBRARY_NAME, REQ_LIBRARY_VERSION);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUT, ID_LIBRARY_NAME, ID_LIBRARY_VERSION);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUT, XPK_LIBRARY_NAME, XPK_LIBRARY_VERSION);
- }
- else
- Alert (AT_DeadEnd | AN_ExecLib | AG_OpenLib | AO_Intuition);
- return (GAME_OVER);
- }
-